home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Chip 1996 April
/
CHIP 1996 aprilis (CD06).zip
/
CHIP_CD06.ISO
/
hypertxt.arj
/
9501
/
KERNEL.CD
< prev
next >
Wrap
Text File
|
1995-10-28
|
16KB
|
363 lines
@VA Linux kernel újrafordítása, frissítése@N
@VA Linux lelke@N
Unixot több mint 20 éve használnak a világban, de csak
az elmúlt néhány évben váltak a személyi számítógépek
alkalmassá egy komoly multitaskos, multiuseres operációs
rendszer futtatására. Ez eredményezte a Linux létrejöttét,
és rohamos terjedését.
A Linux kernel egyszerû felépítésû és jól struktúrált
interface-ekkel rendelkezik. A Linux kernel fejlesztését
Linus Torwalds tartja kézben. Ezt a munkát ellenszolgáltatás
nélkül végzi. Ez azt eredményezi, hogy semmilyen cég vagy
társaság nem kényszerítheti a fejlesztôket tetszôleges
kódrészletek belefoglalására, így az interface-ek aránylag
világosak maradnak.
A teljes kernel forrás szabad szoftver, bárki
tanulmányozhatja, és megismerkedhet felépítésével, hogy egy
legyen azon Unix Guruk közül, akiknek kisujjában van a
multitaskos, multiuseres operációs rendszerek mûködése.
@VMire való a kernel?@N
Egy Unix operációs rendszerben a kernel feladata a
számítógép erôforrásainak kezelése és elosztása a
felhasználói programok között. A kernel mondja meg, hogy
melyik program mikor használhatja a proceszort, a memória
melyik részéhez férhet hozzá, és ugyanígy a számítógép többi
egységét is ô felügyeli. îgy a kernel végzi számítógépben
lévô összes hardverelem kezelését, és elôre definiált
interface-eken keresztül elérhetôvé teszi a felhasználói
programok számára. A kernel ezen részét device drivereknek
hívják. A Unix lényege, hogy minden egyes program a
kernelben levô device drivereken keresztül kezeli a
perifériákat, és nem kell minden egyes programba beépíteni a
merevlemez- vagy a floppykezelést. Bizonyos szinten ezek a
funkciók persze a DOS-ban is benne vannak, de nincs megoldva
ezek védelme, és párhuzamos elérésnek kezelése, lévén egy
singleuseres, és egy taszkos operációs rendszer. A Linux 32
bites operációs rendszer, így a BIOS-ba épített
hardverkezelô függvények egyikét sem tudja használni, ennek
ellenére ma már nemcsak az elterjedt, hanem jónéhány
speciális perifériát is kezel a beépített device driverek
segítségével.
Ma már több Linux disztribúció is létezik, ami azt
jelenti, hogy nem kell minden egyes forrásban rendelkezésre
álló programot lefordítanunk mielôtt Linux alatt szeretnénk
ôket használni, hanem bináris formában is terjesztésre
kerülnek (természetesen a forrásal együtt) egy kis
telepítôprogramba ágyazva. A telepítôvel könnyedén és
egyszerûen tudunk Linuxot installálni a PC-nkre, akkor is ha
még sohasem dolgoztunk Unix alatt. Ezek a disztribúciók a
rendszerprogramok mellett egyre több alkalmazást is
tartalmaznak. Régóta megtalálható a disztribúciókban
szövegszerkesztô (tex kimenetû), rajzoló (bitmapes és
vektorgrafikus), táblázatkezelô, adatbáziskezelô, különbözô
fejlesztôi környezetek (C, C++, Pascal, Fortran, Lisp,
Smalltalk, Ada, Modula) és természetesen játékprogramok
(most jelent meg a DOOM linuxos verziója). Ezek a programok
általában nem függenek a kernel verziótól, ami azt jelenti,
hogy ezektôl az alkalmazásoktól függetlenül fordíthatunk új
kernelt a gépünkön, és újraindítva a gépet használhatjuk.
@VKernel verziók@N
A Linux kernel fejlesztése ma is folyamatban van. Ez azt
jelenti, hogy akár naponta jelenhet meg egy új kernel
verzió, ami újabb és újabb hardvereket támogat, vagy a
régebbi device drivereken javítja. A fejlesztés során mindig
megjelölik a stabil verziókat, és ezek mellett
tesztjelleggel lehetôség van a legújabb kernelek
kipróbálására.
A fent említett disztribúciók természetesen egy futó
(lefordított) kernel mellett tartalmazzák egy adott
kernelverzió forrását is. Ebbôl újrakonfigurálva saját
igényeink szerint bármikor fordíthatunk új kernelt
magunknak.
A Linux kernel fejlesztése két ágon folyik. Az egyik: az
1.0.x-es kernelek, amelyek a stabil kernel verziókat
jelentik. Ezekbe csak a teljesen tesztelt device drivereket
rakják bele. Ha valaki nem akar sokat kalózkodni a kernel
körül, akkor érdemes 1.0.x-es kernelt használnia. Most az
1.0.9-es az utolsó ebben a sorozatban.
A másik ágon folyik az új driverek és más újdonságok
kipróbálása. Ezeket a verziókat azoknak ajánlják, akiket
érdekelnek a kernel újdonságai és nem egy egyetem központi
Unix szervereként üzemeltetik Linuxukat, tehát nem okoz
problémát az esetleges leállás.
@VFordítsunk!@N
A kernel forrás a /USR/SRC/LINUX alkönyvtárban
található. Ez alatt még vannak alkönytárak, ebben vannak a
kernelforrás egyes részei. A kernel fordításához a forrás
mellett szüksegünk van a gcc nevû C fordítóra, ami minden
Linux disztribúcióban benne van. Ha egy új kernel forrást
szeretnénk felrakni a gépünkre, akkor ezt kétféleképpen
tehetjük meg. Vagy az új kernel teljes forrását szerezzük
meg (tömörítve 1-1,5 Mbyte), vagy csak a változásokat
(patch-eket -- néhányszor 10 Kbyte) a mostani kernelünkhöz
képest.
1. Ha a teljes kernelforrás megvan, akkor a következô a
teendô: Menjünk a megfelelô alkönyvtárba:
@Kcd /usr/src@N
Töröljük le a régi kernel forrást
@Krm -rf linux@N
De át is nevezhetjük
@Kmv linux linux.old@N
A kernelt egy @Ktar@N nevezetû programmal csomagolták egy
file-ba. Ezt kell használnunk a kicsomagoláshoz is. (A
Linux-telepítô része.) Menjünk a megfelelô alkönyvtárba:
@Kcd /usr/src@N
majd adjuk ki a
@Ktar xzvf linux-1.1.XX.tar.gz@N
parancsot, ahol az @KXX@N általában a verziószám, de ha más
néven másoltuk le a komplett kernel forrását, akkor
értelemszerûen ezt kell beírnunk utolsó paraméternek.
2. Ha csak a közbensô patchekkel rendelkezünk, akkor
ezeket kell alkalmaznunk a már meglévô kernelforrásunkra.
Patcheket csak minden egymást követô kernelforrásra
adnak ki. Tehát ha a mostani kernelforrásunk több
verziószámban is eltér a kívántól, akkor annyi patchet kell
felraknunk egymás után. (Ezek a patchek természetesen a
forrást patchelik.)
Mivel a patcheket egy @Kgzip@N nevû programmal tömörítve
terjesztik szükségünk lesz egy @Kgunzip@N nevû programra, és a
@Kpatch@N nevû programra. (A Linux-telepítô részei.) Menjünk a
megfelelô alkönyvtárba:
@Kcd /usr/src@N
Alkalmazzuk a soron következô pathcet:
@Kgunzip -c patchXX.gz|patch -p0@N
Az utóbbi mûveletet kövessük el minden egyes patch-csel
egymás után (sorrendben), amíg a legújabb linux kernel
forrást nem kapjuk meg.
Miután így eljutottunk Linux kernelünk általunk kedvekt
verziójához, fel kell konfigurálni, majd le kell
fordítanunk. A konfiguráláshoz menjünk bele az
alkönyvtárába:
@Kcd /usr/src/linux@N
majd adjuk ki a következô parancsot:
@Kmake config@N
Erre a program sorban rákérdez a kernel minden egyes
elemére (device driverekre), hogy bele akarjuk-e fordítani a
készítendô kernelünkbe, vagy nem. Ha valamit nem tudunk,
fogadjuk el a felajánlott opciót (Enter). (Keretes
írásunkban végigmegyünk a konfiguráció lépésein.)
Ezek után maradva ugyanebben az alkönyvtárban adjuk ki a
következô parancsokat:
@Kmake depend@N
ez ellenôrzi a szükséges file-ok meglétét, majd a @Kmake@N
elvégzi a tényleges fordítást és linkelést. Végül egyetlen
@KzImage@N nevû filet kapunk a /USR/SRC/LINUX alkönyvtárban. Ezt
kell beinstallálnunk.
Ha szeretnénk megtartani az eredeti kernelünket, akkor a
@Klilo@N nevû bootloaderbe kell bekonfigurálni az új kernelt. A
lilo leírását a /USR/DOS/LILO/README file-ban találjuk. Ez
alapján a /ETC/LILO.CON file-t kell editálnunk és a @Klilo@N
paranccsal installálhatjuk be.
Ha csak az új kernelt szeretnénk használni, akkor a
következôket kell tenni. Az eredeti kernel a /VMLINUX,
nevezzük ezt át, majd rakjuk helyére az új kernelt:
@Kmv /vmlinux /vmlinux.old
@Kcp /usr/src/linux/zImage /vmlinux
@Krdev -R -zImage 1@N
(Ez az utóbbi parancs egy apró változtatást eszközöl a
kernelen, ezek után induláskor read onlyként kezeli
winchesterünket, és ezt csak a bootolási folyamat közben
változtatja írhatóvá.)
A @Klilo@N parancs konfigurálja fel a boot-loadert az új
kernelre, végül a
@K/sbin/reboot@N
parancsot kiadva újraindul a Linuxunk.
Mindig rendelkezzünk az installálás során készített
bootlemezzel, arra az esetre, ha valami probléma lenne az új
kernellel. A már tesztelt kernelbôl is tudunk bootlemezt
készíteni. Tegyük fel, hogy a jól mûködô kernel a /VMLINUX
néven található. Szükségünk lesz egy formatált lemezre, és
ezt betéve a bootdrive-ba adjuk ki a következô parancsot:
@Kdd if=/vmlinux of=/dev/fd0@N
Vigyázat, ez parancs mindent megsemmisít a floppyn!
@KSára Endre endre@cert.hunix.hu@N
@VA kernelinstallálás lépései@N
A @Kdôltbetûs@N szövegek a mi megjegyzéseink.
root@@pegazus:/usr/src/linux> make config
@KA ""root@@pegazus:" prompt helyett természetesen minden gépen a rá
@Kjellemzô névvel fogunk találkozni.@N
/bin/sh Configure
*
* General setup
*
Kernel math emulation (CONFIG_MATH_EMULATION) [n]
@KA kernelben beépített koprocesszor emuláció van, ha nincs koprocink,
@Kakkor szükségünk van erre az opcióra.@N
Normal harddisk support (CONFIG_BLK_DEV_HD) [y]
@KEz kell, ha AT buszos winchestert használunk.@N
XT harddisk support (CONFIG_BLK_DEV_XD) [n]
@KEz akkor kell, ha véletlenül MFM wincsink volna.@N
Networking support (CONFIG_NET) [y]
@KHálózatban vagyunk, vagy sem?@N
Limit memory to low 16MB (CONFIG_MAX_16M) [n]
@KA 16 MByte feletti memóriaterület kezelése.@N
System V IPC (CONFIG_SYSVIPC) [y]
@KSzüksége van-e a programjainknak a System V típusú Unixokból ismert
@KInternal Procedure Call szolgáltatásra.@N
Use -m486 flag for 486-specific optimizations (CONFIG_M486) [y]
@KHa 486-osunk van akkor erre lehet optimalizálni, 386-oson nincs
@Kjelentôsége.@N
*
* Networking options
*
TCP/IP networking (CONFIG_INET) [y]
@KSzeretnénk-e TCP/IP-vel kommukálni, ha hálózatban vagyunk akkor
@Kigen!@N
IP forwarding/gatewaying (CONFIG_IP_FORWARD) [y]
@KKét hálózatot köt össze a gépünk, és ezek között ô játsza el a
@Kgateway szerepét?@N
*
* (it is safe to leave these untouched)
*
PC/TCP compatibility mode (CONFIG_INET_PCTCP) [y]
Reverse ARP (CONFIG_INET_RARP) [n]
Assume subnets are local (CONFIG_INET_SNARL) [y]
Disable NAGLE algorithm (normally enabled) (CONFIG_TCP_NAGLE_OFF) [n]
The IPX protocol (CONFIG_IPX) [n]
@KHa DOS emulátort használunk, akkor azon belül felhasználhatjuk a
@Kkernel IPX támogatását a Novell szerverek elérésére.
*
* SCSI support
*
SCSI support? (CONFIG_SCSI) [y] n
@KAkarunk-e SCSI egységeket használni?@N
*
* Skipping SCSI configuration options...
*
*
* Network device support
@KItt a következô hálózati kártyák közül kell kiválasztani azt,
@Kamelyik a mi gépünkben van - akár több is.@N
*
Network device support? (CONFIG_NETDEVICES) [y]
Dummy net driver support (CONFIG_DUMMY) [n]
SLIP (serial line) support (CONFIG_SLIP) [y]
CSLIP compressed headers (SL_COMPRESSED) [y]
PPP (point-to-point) support (CONFIG_PPP) [y]
PLIP (parallel port) support (CONFIG_PLIP) [y]
Load balancing support (experimental) (CONFIG_SLAVE_BALANCING) [n]
Do you want to be offered ALPHA test drivers (CONFIG_NET_ALPHA) [n]
Western Digital/SMC cards (CONFIG_NET_VENDOR_SMC) [y]
WD80*3 support (CONFIG_WD80x3) [y]
SMC Ultra support (CONFIG_ULTRA) [n]
3COM cards (CONFIG_NET_VENDOR_3COM) [n]
Other ISA cards (CONFIG_NET_ISA) [n]
EISA and on board controllers (CONFIG_NET_EISA) [n]
Apricot Xen-II on board ethernet (CONFIG_APRICOT) [n]
Pocket and portable adaptors (CONFIG_NET_POCKET) [n]
*
* CD-ROM drivers
@KItt az AT buszos CD-ROM támogatást adhatjuk hozzá kernelünkhöz.@N
*
Sony CDU31A/CDU33A CDROM driver support (CONFIG_CDU31A) [y]
Mitsumi CDROM driver support (CONFIG_MCD) [n]
Matsushita/Panasonic CDROM driver support (CONFIG_SBPCD) [n]
*
* Filesystems
@KA kernel kezeli a meghajtóink filerendszerét is, a Linux
@Kalapértelmezésben ext2 filesystemet használ, ha ezen kivül más
@Kfilerendszer is szeretnénk használni, fordítsuk bele a kernelbe.@N
*
Standard (minix) fs support (CONFIG_MINIX_FS) [y]
@KA linuxos floppyn ilyen filesystem van, ha nem DOS formátumú
@Kfloppykat használunk.@N
Extended fs support (CONFIG_EXT_FS) [n]
@KEzt már nem használják.@N
Second extended fs support (CONFIG_EXT2_FS) [y]
@KEz mindenképpen kell.@N
xiafs filesystem support (CONFIG_XIA_FS) [n]
@KEz egy másik fejlesztési irány, de az ext2fs az elterjedtebb.@N
msdos fs support (CONFIG_MSDOS_FS) [y]
@KSzükségünk van rá, ha szeretnénk a DOS wincsinket, vagy floppynkat
@Khasználni Linux alatt.@N
umsdos: Unix like fs on top of std MSDOS FAT fs (CONFIG_UMSDOS_FS) [n]
@KAkkor van szükség rá, ha DOS partícióba telepítjük a Linuxot.@N
/proc filesystem support (CONFIG_PROC_FS) [y]
@KA kernel memóriával kapcsolatos infókat kérdezhetünk le ebbôl a
@Kfilesystembôl.@N
NFS filesystem support (CONFIG_NFS_FS) [y]
@KHa unixos gép fileserver szolgáltatását szeretnénk használni, akkor
@Kfordítsuk bele.@N
ISO9660 cdrom filesystem support (CONFIG_ISO9660_FS) [y]
@KA CD-ROM-ok olvasásához szükség van rá.@N
OS/2 HPFS filesystem support (read only) (CONFIG_HPFS_FS) [n]
@KOS/2 particiónk read-only kezelését teszi lehetôvé.@N
System V and Coherent filesystem support (CONFIG_SYSV_FS) [y]
@KHa SCO vagy Unixware partíciónkat szeretnénk használni Linux alól,
@Kakkor ezt is fordítsuk bele.@N
*
* character devices
*
Parallel printer support (CONFIG_PRINTER) [n]
@KSzeretnénk-e nyomtatót használni?@N
@KHa nem soros egérrel rendelkezünk a következôk közül választhatunk:@N
Logitech busmouse support (CONFIG_BUSMOUSE) [n]
PS/2 mouse (aka ""auxiliary device") support (CONFIG_PSMOUSE) [n]
Microsoft busmouse support (CONFIG_MS_BUSMOUSE) [n]
ATIXL busmouse support (CONFIG_ATIXL_BUSMOUSE) [n]
Selection (cut and paste for virtual consoles) (CONFIG_SELECTION) [y]
@KEz egy nagyon hasznos funkció, érdemes használni.@N
QIC-02 tape support (CONFIG_QIC02_TAPE) [n]
QIC-117 tape support (CONFIG_FTAPE) [n]
@KAz elôbbi két opciót akkor fordítsuk bele a kernelbe, ha a fenti
@Kszabványok szerinti streamer kazettát használunk.@N
*
* Sound
*
Sound card support (CONFIG_SOUND) [y]
@KRendelkezünk-e hangkártyával?@N
*
* Kernel hacking
*
Kernel profiling support (CONFIG_PROFILE) [n]
make[1]: Entering directory `/usr/src/linux/drivers/sound'
gcc -o configure configure.c
/* Generated by configure. Don't edit!!!! */
Configuring the sound support
@KAz alábbi hangkártyák közül, azokat jelöljük meg amelyekkel
@Krendelkezünk.@N
Do you want to include full version of the sound driver (n/y) ?
Do you want to DISABLE the Sound Driver (n/y) ?
The SoundBlaster, AdLib and ProAudioSpectrum
CARDS cannot be installed at the same time.
However the PAS16 has a SB emulator so you could selectthe SoundBlaster DRIVER
with it.
- ProAudioSpectrum 16
- SoundBlaster / SB Pro
(Could be selected with a PAS16 also)
- AdLib
Don't enable SoundBlaster if you have GUS at 0x220!
ProAudioSpectrum 16 support (n/y) ?
SoundBlaster support (n/y) ?
AdLib support (n/y) ?
The following cards should work with any other cards.
CAUTION! Don't enable MPU-401 if you don't have it.
Gravis Ultrasound support (n/y) ?
MPU-401 support (NOT for SB16) (n/y) ?
6850 UART Midi support (n/y) ?
Microsoft Sound System support (n/y) ?
root@@pegazus:/usr/src/linux>